package com.itany.corejava.code02_运算符;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年10月23日 15:19
 */
public class Test05_逻辑运算符 {
    public static void main(String[] args){
        // 3<4<5
        // &逻辑与
        // 多个条件同时进行判断时, &两边的条件结果同时为true时, 最终
        // 结果才为true
        // 表示不管左边的结果是true还是false,都会对右边的条件进行判断
        // System.out.println(4>3 & 4<5);

        // &&
        // 短路与
        // 多个条件同时进行判断时, &两边的条件结果同时为true时, 最终
        // 结果才为true
        // 表示如果左边的结果是true,则需要对右边的条件进行判断
        // 如果左边的结果是false,此时不需要对右边进行判断,直接返回false
       // System.out.println(4>3 && 4>5);

       // System.out.println(1/0);
       //  System.out.println(false & 1/0==0);
       //  System.out.println(false && 1/0==0);

        // |逻辑或
        // 多个条件同时进行判断时,|两边的条件结果只要有任意一个为true,则结果为true
        System.out.println(true|false);//true
        System.out.println(false|false);//false
        // System.out.println(true|1/0==0);

        // ||短路或
        // 多个条件同时进行判断时,||两边的条件结果只要有任意一个为  true,则结果为true
        // 表示如果左边的结果为false,则需要对右边的条件进行判断
        // 如果左边的结果为true,则不需要对右边进行判断,只要有任意一个为true,结果就为true
        System.out.println(true||false);//true
        System.out.println(true||1/0==0);//true

        // |逻辑非，取反，如果原本的结果是true, 则返回false，如果原本的结果是false,则返回true
        System.out.println(!true);
        System.out.println(!false);



    }
}
